﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace NRemedy
{
    public class CSharpModelGeneratorDefaultFactory
    {
        public virtual IGenerateNameResolver CreateGenerateNameResolver()
        {
            return new GenerateNameResolver();
        }

        public virtual IGenerateRootNamespace CreateGenerateRootNamespace()
        {
            return new GenerateRootNamespace();
        }

        public virtual IGenerateImportNamespace CreateGenerateImportNamespace()
        {
            return new GenerateImportNamespace();
        }

        public virtual IGenerateClass CreateGenerateClass()
        {
            return new GenerateClass();
        }

        public virtual IGenerateClassAttribute CreateGenerateClassAttribute()
        {
            return new GenerateClassAttribute();
        }

        public virtual IGenerateFieldFactory CreateGenerateFieldFactory()
        {
            return new GenerateFieldFactory();
        }

        public virtual IGeneratePropertyFactory CreateGeneratePropertyFactory()
        {
            return new GeneratePropertyFactory();
        }

        public virtual IGeneratePropertyAttribute CreateGeneratePropertyAttribute()
        {
            return new GeneratePropertyAttribute();
        }

        public virtual IGetGenerateFieldDelegate CreateGenerateFieldDelegate()
        {
            return new GetGenerateFieldDelegate();
        }

        public virtual IGetGeneratePropertyDelegate CreateGeneratePropertyDelegate()
        {
            return new GetGeneratePropertyDelegate();
        }

        public virtual IGetARFieldFilterDelegate CreateGetARFieldFilterDelegate()
        {
            return new GetARFieldFilterDelegate();
        }
    }
}
